#!/usr/bin/python2.4
#
# Copyright 2009-2010 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ========================================================================


Import('env')


local_env = env.Clone()
local_env.Append(
    LIBS = [
        ('atls.lib', 'atlsd.lib')[local_env.Bit('debug')],
        ('libcmt.lib', 'libcmtd.lib')[local_env.Bit('debug')],
        ('libcpmt.lib', 'libcpmtd.lib')[local_env.Bit('debug')],
        'comctl32.lib',
        'crypt32.lib',
        'delayimp.lib',
        'httpapi.lib',
        'iphlpapi.lib',
        'netapi32.lib',
        'msi.lib',
        'mstask.lib',
        'psapi.lib',
        'rasapi32.lib',
        'rpcns4.lib',
        'rpcrt4.lib',
        'shlwapi.lib',
        'version.lib',
        'userenv.lib',
        'wininet.lib',
        'winhttp.lib',
        'wintrust.lib',
        'ws2_32.lib',
        'wtsapi32.lib',

        '$LIB_DIR/breakpad.lib',
        '$LIB_DIR/common.lib',
        '$LIB_DIR/core.lib',
        '$LIB_DIR/goopdate_dll.lib',
        '$LIB_DIR/google_update_ps.lib',
        '$LIB_DIR/google_update_recovery.lib',
        '$LIB_DIR/logging.lib',
        '$LIB_DIR/net.lib',
        '$LIB_DIR/repair_goopdate.lib',
        '$LIB_DIR/security.lib',
        '$LIB_DIR/service.lib',
        '$LIB_DIR/setup.lib',
        '$LIB_DIR/statsreport.lib',
        '$LIB_DIR/worker.lib',
        ],
    CPPDEFINES = [
        'UNICODE',
        '_UNICODE'
        ],
)

local_env.FilterOut(LINKFLAGS = ['/SUBSYSTEM:WINDOWS'])
local_env['LINKFLAGS'] += ['/SUBSYSTEM:CONSOLE']

# Avoid conflict over common/apply_tag.obj
local_env.Dir('.').addRepository(local_env.Dir('$MAIN_DIR/common'))

target_name = 'gucompat'

inputs = [
    'main.cc',
    'console_writer.cc',
    'compatibility_test.cc',
    'common/config.cc',
    'HttpServer/http_server.cc',
    'HttpServer/download_handler.cc',
    'HttpServer/update_check_handler.cc',
    'HttpServer/xml_parser.cc',
    'apply_tag.cc',  # Comes from $MAIN_DIR/common
    ]
if env.Bit('use_precompiled_headers'):
  inputs += local_env.EnablePrecompile(target_name)

local_env.ComponentTestProgram(
    prog_name=target_name,
    source=inputs,
    COMPONENT_TEST_RUNNABLE=False
)
